Skip to content

Merge v1.1.1 development to main#303

Merged
jstone-lucasfilm merged 17 commits intomainfrom
dev_1.1.1
Apr 17, 2026
Merged

Merge v1.1.1 development to main#303
jstone-lucasfilm merged 17 commits intomainfrom
dev_1.1.1

Conversation

@jstone-lucasfilm
Copy link
Copy Markdown
Member

This changelist merges v1.1.1 development from dev_1.1.1 to main, in preparation for marking the release of OpenPBR v1.1.1.

jstone-lucasfilm and others added 16 commits June 8, 2024 11:25
This changelist updates the OpenPBR default example, matching its values to the latest default values of the shading model.
From 1.5 to 1.4.  

As this won't make much difference to the look in implementations that ignore the adjacent IORs of the film.

But for those that take it into account, this will make the film visible rather than invisible by default (since `specular_ior` is 1.5 by default, and `coat_ior` 1.6).
This changelist enables Zeltner sheen in the reference implementation of OpenPBR, leveraging the new functionality in MaterialX 1.39.

Additionally, the open_pbr_velvet.mtlx example has been updated to account for the visual differences between Conty-Kulla and Zeltner sheen.
With links to
  - MaterialX web viewer running OpenPBR default material
  - OpenPBR-viewer project and web app
Following the discussion of #85.
This changelist updates the types associated with physical color values for subsurface scattering in OpenPBR, aligning with the conclusions of recent threads on ASWF Slack channels.

- Change `subsurface_radius_scale` from a `vector3` to a `color3` in the specification, aligning with the MaterialX implementation of OpenPBR.
- Change the `radius` input of `subsurface_bsdf` from a `vector3` to a `color3` in the MaterialX implementation, aligning with the current definition of the `subsurface_bsdf` node in MaterialX 1.39.
* Add page to propose real-time approximations

* Mention layering and mixing approximation

* Mantion specular reflection approximation

* Mention anisotropic reflection approximations

* Fix typos

* Wording

* Reword the section, move it to the main document, remove the annex
* Merge v1.1 development to main (#222)

This changelist merges v1.1 development from dev_1.1 to main, in preparation for marking the release of OpenPBR v1.1.

* Subsurface in thin-walled mode, small clarification

* Subsurface in thin-walled mode, small clarification

---------

Co-authored-by: Jonathan Stone <jstone@lucasfilm.com>
* Merge v1.1 development to main (#222)

This changelist merges v1.1 development from dev_1.1 to main, in preparation for marking the release of OpenPBR v1.1.

* Adding more material examples
- Bumped MaterialX version from 1.38 to 1.39 on existing examples
- Added new examples

* - Added MIT Black

* Color updates:
- Updated all colors to ACEScg
- All metals now have F82 as specular_color
- Added a few more metals from Portsmouth's chart

* Material updates:
- Added SSS to Sclera and made it less red
- Added LCD Display material
- Added two variations of Light Bulb with different CCT

* Material updates:
- Added base_diffuse_roughness to Brick, Charcoal, and Sand
- Made Velvet purple so it's more convincing

* Updated roughness values

* Removed a few materials that were less useful as examples

* Renamed Polyurethane

* Updated Blood material

* Added Abbe value to Blood material

* Updated IOR of Blood

* - Updated coffee material

* Split Honey into two materials, liquid and crystallized

* - Updated Honey (Crystallized) roughness value

---------

Signed-off-by: Adrien Herubel <AdrienHerubel@users.noreply.github.com>
Co-authored-by: Jonathan Stone <jstone@lucasfilm.com>
Co-authored-by: Adrien Herubel <AdrienHerubel@users.noreply.github.com>
* Integrate OpenPBR updates from MaterialX project

This changelist integrates two post-1.1 updates to OpenPBR Surface from the MaterialX project:

- Optimizations to OpenPBR graph (AcademySoftwareFoundation/MaterialX#2459)
- Add code generation hints support (AcademySoftwareFoundation/MaterialX#1954)

The more substantial update is the graph optimization, and I've copied the performance measurements from the original change for reference:

Performance tests were conducted on an NVIDIA RTX A6000 at 4K resolution, and the following timing improvements were seen:

OpenPBR Carpaint: 16ms -> 7ms
OpenPBR Glass: 27ms -> 11ms
OpenPBR Pearl: 16ms -> 12ms
OpenPBR Aluminum: 14ms -> 5ms

* Omit hardware shading optimizations
Two bug fixes for the 1.1.1 point release:

- Metal edge tint incorrectly multiplied by specular_weight (cherry-picked from #240): the color82 (edge tint) input on metal_bsdf and metal_bsdf_tf was routed through a multiply node that applied specular_weight. Since the whole lobe is already weighted by specular_weight, the edge tint was being double-weighted. Now connects directly to the specular_color interface input.

- Connect geometry_thin_walled flag to <surface> (borrowed from AcademySoftwareFoundation/MaterialX#2759): the thin-walled geometry flag was not being passed through to the surface node in the MaterialX graph.
This PR increases the version to 1.1.1 and backports any missing change in the branch, it also adds a complete changelog for 1.1 and 1.1.1.

Backported PRs : 
- #235
- #230 
- #218 
- #289 
- #236 
- #262
Signed-off-by: Jonathan Stone <jstone@lucasfilm.com>
Copy link
Copy Markdown
Contributor

@AdrienHerubel AdrienHerubel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see at least one commit in the merge PR belonging to the dev_1.1 (#217) which should have been in main already, so it is possible that main was a bit too much behind.

@jstone-lucasfilm jstone-lucasfilm merged commit f8d6d94 into main Apr 17, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants